package org.computate.model.dao;

import com.google.inject.Inject;

public class DaosImpl implements Daos {

	@Inject private WebAlbumDao webAlbumDao;
	@Inject private UploadDao uploadDao;
	@Inject private PageDao pageDao;
	@Inject private TransitDayDao transitDayDao;
	@Inject private GraveDao graveDao;
	@Inject private PhotoDao photoDao;
	@Inject private TransitHourDao transitHourDao;
	@Inject private TransitNeedDao transitNeedDao;
	@Inject private ReviewDao reviewDao;
	@Inject private BuriedPersonDao buriedPersonDao;
	@Inject private ModelDao modelDao;

	public ComputateDao<?> getDao(String modelName) {
		ComputateDao<?> result = null;
		
		if(modelName != null) {
			if(modelName.equals("WebAlbum"))
				result = webAlbumDao;
			else if(modelName.equals("Upload"))
				result = uploadDao;
			else if(modelName.equals("Page"))
				result = pageDao;
			else if(modelName.equals("TransitDay"))
				result = transitDayDao;
			else if(modelName.equals("Grave"))
				result = graveDao;
			else if(modelName.equals("Photo"))
				result = photoDao;
			else if(modelName.equals("TransitHour"))
				result = transitHourDao;
			else if(modelName.equals("TransitNeed"))
				result = transitNeedDao;
			else if(modelName.equals("Review"))
				result = reviewDao;
			else if(modelName.equals("BuriedPerson"))
				result = buriedPersonDao;
			else if(modelName.equals("Model"))
				result = modelDao;
		}
		
		return result;
	}
	
	public WebAlbumDao getWebAlbumDao() {
		return webAlbumDao;
	}

	public void setWebAlbumDao(WebAlbumDao webAlbumDao) {
		this.webAlbumDao = webAlbumDao;
	}

	public UploadDao getUploadDao() {
		return uploadDao;
	}

	public void setUploadDao(UploadDao uploadDao) {
		this.uploadDao = uploadDao;
	}

	public PageDao getPageDao() {
		return pageDao;
	}

	public void setPageDao(PageDao pageDao) {
		this.pageDao = pageDao;
	}

	public TransitDayDao getTransitDayDao() {
		return transitDayDao;
	}

	public void setTransitDayDao(TransitDayDao transitDayDao) {
		this.transitDayDao = transitDayDao;
	}

	public GraveDao getGraveDao() {
		return graveDao;
	}

	public void setGraveDao(GraveDao graveDao) {
		this.graveDao = graveDao;
	}

	public PhotoDao getPhotoDao() {
		return photoDao;
	}

	public void setPhotoDao(PhotoDao photoDao) {
		this.photoDao = photoDao;
	}

	public TransitHourDao getTransitHourDao() {
		return transitHourDao;
	}

	public void setTransitHourDao(TransitHourDao transitHourDao) {
		this.transitHourDao = transitHourDao;
	}

	public TransitNeedDao getTransitNeedDao() {
		return transitNeedDao;
	}

	public void setTransitNeedDao(TransitNeedDao transitNeedDao) {
		this.transitNeedDao = transitNeedDao;
	}

	public ReviewDao getReviewDao() {
		return reviewDao;
	}

	public void setReviewDao(ReviewDao reviewDao) {
		this.reviewDao = reviewDao;
	}

	public BuriedPersonDao getBuriedPersonDao() {
		return buriedPersonDao;
	}

	public void setBuriedPersonDao(BuriedPersonDao buriedPersonDao) {
		this.buriedPersonDao = buriedPersonDao;
	}

	public ModelDao getModelDao() {
		return modelDao;
	}

	public void setModelDao(ModelDao modelDao) {
		this.modelDao = modelDao;
	}

}
